<%@page contentType="text/html;charset=UTF-8" isELIgnored="false" %>
<%@page pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@ taglib prefix="sp" uri="http://www.springframework.org/tags/form" %>
<!DOCTYPE html>
<html>
	<head>
		<link rel="stylesheet" href="/app/widgets/dashboard/styles/main" type='text/css' />
		<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
		<script src="/static/scripts/jq-plugins/jquery.postmessage.js" type="text/javascript"></script>
		<script src="/static/scripts/jq-plugins/jquery.json-2.2.min.js" type="text/javascript"></script>
		<script src="/static/scripts/jq-plugins/jstorage.js" type="text/javascript"></script>
		<script src="/static/scripts/hosted.js" type="text/javascript"></script>
		<script type="text/javascript">
			//The dashboard sets some important information, like the API key.
			$.jStorage.set('userID', '<c:out value="${userID}" />');
			$.jStorage.set('apiKey', '<c:out value="${apiKey}" />');
		</script>
	</head>
	<body>
		<div>
			<strong>Your User ID</strong>: <c:out value="${userID}" /><br/>
			<strong>Your API Key</strong>: <c:out value="${apiKey}" /><br/>
		</div>
		<div>
			Current Version Changelog (v <span id="version">0.0.4/0</span>):
		</div>
		<div>
			<ul>
				<li><b>User data has been wiped. Please contact me if you can't access reports widget.</b></li>
				<li><b>Greasemonkey script upgraded. You must download the new one.</b></li>
				<li>
					Bug fixes:
					<ul>
						<li>Multiple violations not posting when "Post Vote" button is clicked.</li>
					</ul>
				</li>
				<li>Upgraded to App Engine 1.4.</li>
				<li>Upgraded to Spring 3.0.5</li>
				<li>Upgraded to Spring Security 3.1.0 M2.</li>
				<li>All webservices are now protected by userID:apiKey HTTP Basic auth.</li>
				<li>API key cannot be used to access regular pages.</li>
				<li>
					Complete overhaul of how TFX works internally. It is now much more secure:
					<ul>
						<li>Removed widgets from CF page scope. They now run on thermetics-fx.appspot.com and safely call bits of code on CF.</li>
						<li>This means that widgets no longer have access to information (like your login info) on the CF page unless it is explicitly exposed.</li>
						<li>This also resolves problems with asynchronous communication that would have otherwise arisen.</li>
					</ul>
				</li>
				<li>Basic "hosted API." External pages can communicate with TFX widgets. This lays the groundwork for third-party widgets.</li>
				<li>
					For widget functionality that cannot work under the new security restrictions, trusted modules are available:
					<ul>
						<li>The Trusted Module is code that runs on the CF page scope, not TFX page scope.</li>
						<li>This means it has full access to whatever is on the page and can do anything a normal script can do.</li>
						<li>This can be beneficial, but also risky. Thusly, you are prompted by an obnoxious box to run such modules.</li>
						<li>You can save an "always run" preference. If you don't save it, it will ask you every time.</li>
						<li>This functionality is currently basic, and not as secure as it could be. Improvements in 0.0.5.</li>
					</ul>
				</li>
			</ul>
		</div>
		
		Version 0.0.3/0:
		<div>
			<ul>
				<li><b>All report data has been wiped (again).</b></li>
				<li>Interface revision: you can select multiple violations.</li>
				<li>Interface revision: many more violations and actions have been added.</li>
				<li>Interface revision: selecting No Violation will de-select and disable all other checkboxes.</li>
				<li>Interface revision: "working" indicator when you are selecting violations/actions.</li>
				<li>Interface revision: TEMPORARY: Suicide Risk added as "violation" under more violations. Will be thread prefix in future.</li>
				<li>Report Status bar lines up with the rest of the widget.</li>
			</ul>
		</div>
		
		Version 0.0.2/0:
		<div>
			<ul>
				<li><b>All report data has been wiped.</b></li>
				<li>Report prefix can now be set from within the thread itself.</li>
				<li>"None" action removed.</li>
				<li>Actions are not selectable if you have No Violation selected.</li>
				<li>Once you've voted, the post vote button stays disabled until your change your vote or comment.</li>
				<li>Votes without a comment will no longer post the hint text in the auto-generated post.</li>
				<li>Comment box hint text color changed to a nice, alluring blue.</li>
				<li>"No Violation" properly recorded in post as "No Violation" rather than "undefined + No Violation".</li>
			</ul>
		</div>
		
		Version 0.0.1/0:
		<div>
			<ul>
				<li>Dashboard now displays changelog of current version (hey, you're reading it now!)</li>
				<li>Fixed report widget generating new entities for each page of a report.</li>
				<li>Fixed issue where vote comment wouldn't be stored on multipage thread.</li>
				<li>Voting form should feel much more responsive.</li>
				<li>Added hint text to vote comment field to indicate that it is indeed a vote comment field.</li>
				<li>Added beginnings of API to allow "hosted" parts of widgets to call the API on the parent page.</li>
			</ul>
		</div>
	</body>
</html>